#ifndef __NotSupported_H__
#define __NotSupported_H__
#ifndef CC_BC32
#define GEN_NotSupported_ERROR(message) throw lampe::exception::NotSupportedException(__LINE__,__FILE__,__FUNCTION__,message)
#else
#define GEN_NotSupported_ERROR(message) throw lampe::exception::NotSupportedException(message)
#endif
#include "Base.h"

namespace lampe{
namespace exception{


/***
* @class NotSupportedException
* Класс ошибки, который нужно "выкидывать" если выполняемое действие не поддерживается. В самом сообщении желательно написать в чём именно заключается проблема
*
* Пример:
* try{
*	GEN_NotSupported_ERROR("Пример генерации ошибки");
* }catch(NotSupportedException e){
*	printf("catched IO errror! %s\n",e.what());
* }
*
* */
class NotSupportedException:public Base{
public:
#ifndef CC_BC32
	NotSupportedException(u32 l,String f,String m,String m2):Base(l,f,m,m2){
		//nothing
	}
#else
	NotSupportedException(String m2):Base(m2){
		//nothing
	}
#endif
	virtual ~NotSupportedException() throw(){
		//nothing
	}
};

}//namespace exception
}//namespace lampe
#endif
